package com.triones.ljr.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.triones.ljr.entity.dto.OvertDeptDO;
import com.triones.ljr.entity.dto.OvertEnterpriseDO;
import com.triones.ljr.entity.vo.OvertDeptVO;
import com.triones.ljr.entity.vo.OvertEnterpriseVO;

import java.util.List;

/**
 * 企业公开
 */
public interface OvertService {

    /**
     * 部门-查询列表（分页）
     * @param dto
     * @param pageQuery
     * @return
     */
    TableDataInfo<OvertDeptVO> deptPageList(OvertDeptDO dto, PageQuery pageQuery);

    /**
     * 部门-查询详细
     * @param id
     * @return
     */
    OvertDeptVO getDeptInfo(Long id);

    /**
     * 校验部门名称唯一
     * @param dto
     * @return
     */
    boolean checkDeptNameUnique(OvertDeptDO dto);

    /**
     * 部门-新增
     * @param dto
     * @return
     */
    boolean addDept(OvertDeptDO dto);

    /**
     * 部门-修改
     * @param dto
     * @return
     */
    boolean editDept(OvertDeptDO dto);

    /**
     * 部门-删除
     * @param id
     * @return
     */
    boolean removeDept(Long id);

    /**
     * 部门-获取所有
     * @return
     */
    List<OvertDeptVO> selectDeptAll(String keyword);

    /**
     * 企业-查询列表（分页）
     * @param dto
     * @param pageQuery
     * @return
     */
    TableDataInfo<OvertEnterpriseVO> enterprisePageList(OvertEnterpriseDO dto, PageQuery pageQuery);

    /**
     * 企业-查询详细
     * @param id
     * @return
     */
    OvertEnterpriseVO getEnterpriseInfo(Long id);

    /**
     * 校验企业唯一
     * @param dto
     * @return
     */
    boolean checkEnterpriseNameUnique(OvertEnterpriseDO dto);

    /**
     * 企业-新增
     * @param dto
     * @return
     */
    boolean addEnterprise(OvertEnterpriseDO dto);

    /**
     * 企业-修改
     * @param dto
     * @return
     */
    boolean editEnterprise(OvertEnterpriseDO dto);

    /**
     * 企业-删除
     * @param id
     * @return
     */
    boolean removeEnterprise(Long id);

    /**
     * 批量保存
     * @param list
     */
    void saveBatch(List<OvertEnterpriseDO> list);

    /**
     * 搜素 - 企业列表
     * @param keyword
     * @return
     */
    List<OvertEnterpriseVO> queryList(String keyword);
}
